Referring to FIG. 1, a data generator 100 generates data having a plurality of portions. For example, the data generator 100 may be a counter or a register having a plurality of bits as data. For instance, referring to FIG. 1, a first portion 102 of the data includes a first 8-bit (byte) portion, a second portion 104 of the data includes a second 8-bit (byte) portion, a third portion 106 of the data includes a third 8-bit (byte) portion, and a fourth portion 108 of the data includes a fourth 8-bit (byte) portion. With many common types of the data generator 100, such as a counter or a register, the data bits constantly change with time.
An electronic reading device which reads the 32-bit data from the data generator 100 in many cases cannot read all 32-bits of the data together at once. The electronic reading device may lack the data capacity necessary for reading 32-bits of the data together at once. In that case, the electronic reading device sequentially reads the data, at least one portion at a time. For example, referring to FIG. 1, the electronic reading device may have the data capacity for reading 8-bits at a time. In such an example, the electronic reading device may sequentially read the first 8-bit portion 102, then the second 8-bit portion 104, then the third 8-bit portion 106, and then finally, the fourth 8-bit portion 108. In this example, each 8-bit portion is read sequentially one portion at a time.
However, each bit of the 32-bits within the data generator 100 is updated with time. Thus, between the time the electronic reading device reads the first portion 102 and the time the electronic reading device reads any subsequent portion (i.e., the second portion 104, the third portion 106, or the fourth portion 108), any bit within the 32-bit data may be changed. In that case, the four portions 102, 104, 106, and 108 which are thus sequentially read do not represent the data of the data generator 100.
In such a scenario, the four portions are deemed to be "incoherent." Incoherent data is an inaccurate representation of the content of the data generator 100. However, many electronic reading devices can only read data from the data generator 100 in a plurality of sequential portions rather than all of the bits at once. Thus, a mechanism for ensuring coherency among the portions of data sequentially read from the data generator 100 is desired.